Local area networks are used on a regular basis to link together multiples nodes, such as personal computers, workstations, servers, etc., to allow the nodes to share information and resources with each other. For small networks, a simple configuration may be used wherein each of the nodes is coupled directly to the network backbone. For more complicated networks having large numbers of nodes, however, direct coupling becomes highly inefficient. To improve efficiency on the more complicated networks, the method of "segmenting" is often applied. According to this method, the various nodes in the network are separated into a plurality of groups known as "segments", with each segment typically comprising a plurality of nodes which communicate regularly with each other. All of the nodes in a segment are usually networked to each other to form a sub-network, and the segment is coupled to the network backbone through a single segment port. By coupling the nodes to the network and to each other in this manner, connectivity with the network backbone is preserved while keeping to a minimum the number of ports actually coupled to the backbone. For even more complicated networks, each segment may be divided into sub-segments, and these sub-segments may be further divided into super sub-segments to create a complex hierarchy. The segmenting principle can be extended to any desired level. Segmenting nodes in this manner has been found to improve network efficiency.
A device which is commonly used in segmenting applications is a bridge. A bridge provides a link between two entities. The coupled entities may be two separate segments or they may be a network and a segment. Currently, a wide variety of bridges are available, with most bridges being general purpose bridges having two sides, each side dealing with a large number of nodes as well as other bridges. A typical bridge comprises a first controller for dealing with a first side of the bridge, and a second controller for dealing with a second side of the bridge. In operation, the first controller receives an information packet from one of the nodes on the first side, and determines whether the packet is destined for one of the nodes on that same side (the first side). If so, the packet is prevented from being sent to the second side. If, however, the packet is not destined for the same side, the first controller assumes that it is destined for the other side (the second side) and sends the packet to that other side. The second controller functions in a similar fashion.
Notice from the above description that when a packet is sent from one side to the other, there is no verification that the packet is actually destined for one of the nodes on the receiving side. There is only verification that the packet is not destined for the side on which the packet originated. As a result, it is possible that each side of the bridge may receive from the other side extraneous packets which were not actually destined for the receiving side. These extraneous packets impose unnecessary traffic on the receiving side which, in turn, adversely affects the efficiency of that side. A more efficient interfacing device is needed.
Another drawback of the currently available bridges is that they are too costly for many applications. Because the available bridges are general purpose devices, they are relatively versatile, and along with this versatility comes higher cost. While versatility may be useful in some situations, it is not needed in many straightforward applications. For example, if all that is needed is to interface a segment having a plurality of nodes to a network, using a general purpose bridge is a waste of resources. For such applications, a simple and more cost effective interfacing device would be more desirable. Such a device, however, is not believed to be currently available.